package com.uzai.console.vo.profit.normalrewardrule;

import com.uzai.console.vo.base.SelectKeyVo;
import com.uzai.console.vo.base.UserTypeSelectKeyVo;
import com.uzai.console.vo.profit.ladderratio.LadderRatioInfoVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author liuqi
 * @date 2021年09月01日 18:06
 */
@ApiModel("分佣规则详情返回对象")
@Data
public class NormalRewardRuleInfoVo {

    @ApiModelProperty("主键id")
    private Long id;

    /**
     * 分佣规则名称
     */
    @ApiModelProperty("分佣规则名称")
    private String name;

    /**
     * 分佣逻辑\r\n0.根据购买者的会员类型设置的比例给其他关联人分佣\r\n1.根据分佣人各自的会员类型取各自的来自买家返利佣金的比例（悠哉2.0逻辑）
     */
    @ApiModelProperty("分佣逻辑(0-根据购买者的会员类型设置的比例给其他关联人分佣; 1-根据分佣人各自的会员类型取各自的来自买家返利佣金的比例（悠哉2.0逻辑）)")
    private Integer rewardLogic;

    /**
     * 杀熟规则
     */
    @ApiModelProperty("杀熟规则id")
    private Long nuserRuleGroupId;

    /**
     * 杀熟规则
     */
    @ApiModelProperty("杀熟规则名称")
    private String nuserRuleGroupName;

    /**
     * 会员类型组id
     */
    @ApiModelProperty("会员类型组id")
    private Long userTypeGroupId;

    /**
     * 会员类型组名称
     */
    @ApiModelProperty("会员类型组名称")
    private String userTypeGroupName;

    /**
     * 分佣层级
     */
    @ApiModelProperty("分佣层级（层级N等于）")
    private Integer rewardLevel;

    /**
     * 奖励顺序（0.买家、上级、上上级、代理、上级代理、合伙人、上N级，1.买家、上级、代理、合伙人、上上级、上级代理、上N级）
     */
    @ApiModelProperty("分佣顺序（0-（买家、上级、上上级、代理、上级代理、合伙人、上N级）；1-（买家、上级、代理、合伙人、上上级、上级代理、上N级）")
    private Integer rewardSort;

    /**
     * 阶梯模式（0.按照单件商品佣金取阶梯，1.按照总佣金取阶梯）
     */
    @ApiModelProperty("拍多件阶梯按照（0.按照单件商品佣金取阶梯，1.按照总佣金取阶梯）")
    private Integer ladderModel;

    /**
     * 从总佣金扣除的佣金比例
     */
    @ApiModelProperty("总佣金中扣除X%后作为总佣金")
    private Double rewardSubRatio;

    /**
     * 分佣是否可以溢出总佣金，0否，1是
     */
    @ApiModelProperty("分佣是否可以溢出总佣金，0否，1是")
    private Integer rewardOverflow;

    /**
     * 不同会员分佣明细
     */
    @ApiModelProperty("不同会员分佣明细")
    private String rewardDetail;

    /**
     * 会员类型键值对
     */
    @ApiModelProperty("会员类型信息列表")
    private List<UserTypeSelectKeyVo> userTypeVoList;

    /**
     * 阶梯规则键值对
     */
    @ApiModelProperty("阶梯规则键值对")
    private List<SelectKeyVo> ladderRatioGroupVoList;

    @ApiModelProperty("该订单使用的阶梯规则信息")
    private LadderRatioInfoVo ladderRatio;

    /**
     * 计算分佣总佣金（扣除N%之后的佣金）
     */
    @ApiModelProperty("计算分佣总佣金（扣除N%之后的佣金）")
    private Double calculateCommission;

    @ApiModelProperty("是否默认（0-否；1-是)")
    private Integer isDefault;


}
